home
***
CD-ROM
|
disk
|
FTP
|
other
***
search
/
MACD 5
/
MACD 5.bin
/
workbench
/
wb
/
czesc_4
/
sizer
/
readme
< prev
next >
Wrap
Text File
|
1992-07-23
|
3KB
|
83 lines
INTRODUCTION
Sizer reports the size of selected disk objects (including
subdirectories). It reports the number of bytes in all plain files and the
number of blocks occupied by files and directories. It is intended for the
Workbench user who wants to know if there is room to drag-copy one or more
icons.
I wrote Sizer for three reasons. First, I wanted it for my own use.
Second, I wanted to learn how to use the Workbench startup module. Third, I
wanted to learn how to examine the contents of directories using Examine()
and ExNext().
INSTRUCTIONS
Sizer works only from the Workbench. If started from the CLI it will
terminate without doing anything.
Select Sizer and all the objects you want sized using extended
selection. Click once on the Sizer icon. Hold down the shift key and
select the objects you want sized. Double-click on the last one. Sizer
will open a window and show you the number of bytes and blocks. While Sizer
is working the numbers will keep changing. When it finishes it will write
"Program completed. Select close gadget to exit." into the window. If the
program fails for some reason it will indicate "Program failed. Select
close gadget to exit."
While Sizer is running you can cancel it by selecting the close gadget.
Sizer will stop executing and close the window.
WARNINGS
Sizer calculates blocks for the old file system (OFS) and the fast file
system (FFS). Information about the file systems' overhead is coded in the
program. Sizer's block counts do not apply to any other file systems.
Because the Amiga is a multitasking system, the size of a file can
change at any time. Keep this in mind when using the information Sizer
gives you.
DISTRIBUTION
Sizer is in the public domain.
AUTHOR
--Fabbian G. Dufoe, III
350 Ling-A-Mor Terrace South | GEnie: F.DUFOE3
St. Petersburg, Florida 33705 | internet: fgd3%nifty@tct.com
813-823-2350 | uucp: ...tct!deep6!nifty!fgd3
REVISION HISTORY
15 October 1991: Initial release, version 1.0.
18 May 1992: Version 1.1
If address 0 contained a non-zero value Sizer would fail when it
encountered a directory within a directory. The problem was a function
call that passed a NULL pointer instead of a pointer to a NULL string.
It was a dumb mistake, but it's been fixed.
13 June 1992: Version 1.2
Sizer used the number of blocks in the FileInfoBlock (fib_NumBlocks) to
accumulate its block count. There are several problems with that
approach. First, directories on disk have fib_NumBlocks set to 0
(for directories on RAM: it is 1) but directories take up one block of
disk space each. Second, the number of blocks required for a given file
may vary depending on whether the file is written to an old file system
(OFS) or fast file system (FFS) disk. The block size is different.
Knowing how many FFS blocks a disk object occupies doesn't tell you
(easily) how many OFS blocks it will require.
By calculating the blocks from the block size and the number of bytes in
the file I solved both problems. Sizer now reports the number of blocks
correctly whether the object being sized is on disk or RAM:. Sizer gives
you both the number of OFS blocks and FFS blocks.